package org.rms.model.access;

import java.util.List;
import java.util.Map;

public interface PersistableManager<T extends Persistable> {
    
    List<T> getObjects();
    
    List<T> getObjects(String attrName, Object value);
    
    List<T> getObjects(Map<String, Object> nameValuePairs);
    
    T getObject(int id);
    
    void delete(T object);
    
    T newObject();
    
    void setContextInfo(String contextInfo);

    Class<T> getObjectClass();

    boolean containsObject(int id);
    
}
